package org.wii.base.utils;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.BCrypt;

/**
 * 密码工具类
 * @author tanghong on 2022/12/23
 */
public class PasswordUtil {
    /**
     * 创建Bcrypt盐
     * @return 密码盐
     */
    public static String genBcryptSalt(){
        return BCrypt.gensalt();
    }

    /**
     * 创建Bcrypt盐
     * @param logRounds
     * @return 密码盐
     */
    public static String genBcryptSalt(int logRounds){
        return BCrypt.gensalt(logRounds);
    }

    /**
     * Bcrypt加密
     * @param salt 密码盐
     * @param pwd 加密
     */
    public static String bcryptCipher(String salt, String pwd){
        if (StrUtil.isBlank(salt)){
            throw new IllegalArgumentException("密码盐不能为空!");
        }
        if(StrUtil.isBlank(pwd)){
            throw new IllegalArgumentException("密码不能为空!");
        }
        return BCrypt.hashpw(pwd, salt);
    }

}
